awilliam@xenbuild.aw [Tue, 11 Apr 2006 19:55:36 +0000 (13:55 -0600)]
[IA64] Cleanup to irq.c
This patch is a big cleanup to irq.c, with only real
necessary interfaces kept now. The irq subsystem of
xen is very simple since most external devices are
controlled by dom0. Also especially there's no need
to keep CONFIG_XEN everywhere, since this file is
already out of sync of linux version for a long time.
Actually xen defines irq related structures differently
and it's worthy of creating a xen specific version here.
Another change of this patch is to remove ugly check
upon timer/ipi within irq handler. Instead now we'll
check IRQ_GUEST flag of irq_desc to decide whether
to deliver irq to guest. Now all vectors un-registered
are set with IRQ_GUEST enabled, which is identical to
current assumption. Later this flag should be set only
per guest's request. Then Xen_do_irq is not reuqired
as the result of this change.
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
awilliam@xenbuild.aw [Tue, 11 Apr 2006 19:54:58 +0000 (13:54 -0600)]
[IA64] warning fix
Fixed some compilation warnings
Signed-off-by: Anthony Xu <anthony.xu@intel.com>
awilliam@xenbuild.aw [Mon, 10 Apr 2006 21:13:42 +0000 (15:13 -0600)]
[IA64] get_pfn_list workaround
As we know, the mechanism for hypervisor to pass parameter through pointer
is not complete. Hypervisor use copy_from/to_user functions to copy parameter
to hypervisor and copy result to user, if there is a tlb miss happening and
hypervisor can't handled this. This hypercall fails, there is no mechanism to
handle this failure, that may cause domain crash. Get_pfn_list hypercall copy
large data from hypervisor to user, it is easy to trigger this issue when
creating VTI-domain.
If fails, Get_pfn_list returns the number of pfn entries, and this patch will
Dummy access parameter memory block to cause this tlb mapping tracked by
Hypervisor, then continue to do get_pfn_list.
It's a workaround before we design a new mechanism of passing parameter thr
pointer.
Signed-off-by: Anthony Xu <anthony.xu@intel.com>
awilliam@xenbuild.aw [Mon, 10 Apr 2006 20:54:35 +0000 (14:54 -0600)]
[IA64] access reflect fix
Before injecting fault to guest, VMM need to setup
guest itir by using guest region register.
But the lowest two bits of itir are reserved. VMM need
to reset these two bits.
Signed-off-by: Anthony Xu <anthony.xu@intel.com>
awilliam@xenbuild.aw [Mon, 10 Apr 2006 20:51:38 +0000 (14:51 -0600)]
[IA64] ptc.ga for SMP-g
Implementation of ptc.ga for SMP-g.
Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
awilliam@xenbuild.aw [Fri, 7 Apr 2006 20:06:44 +0000 (14:06 -0600)]
[IA64] dom0 vp model linux part: import agp.h from linux-2.6.16-rc3
[note: verified same as linux-2.6.16]
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
awilliam@xenbuild.aw [Fri, 7 Apr 2006 20:05:40 +0000 (14:05 -0600)]
[IA64] dom0 vp model linux part: import machvec.h from linux-2.6.16-rc3
[note: verified same as linux-2.6.16]
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
awilliam@xenbuild.aw [Fri, 7 Apr 2006 20:04:28 +0000 (14:04 -0600)]
[IA64] dom0 vp model linux part: import dma-mapping.h from linux-2.6.16-rc3
[note: verified same as linux-2.6.16]
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
awilliam@xenbuild.aw [Fri, 7 Apr 2006 20:02:31 +0000 (14:02 -0600)]
[IA64] dom0 vp model linux part: import pgalloc.h from linux-2.6.16-rc3
[note: verified same as linux-2.6.16]
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
awilliam@xenbuild.aw [Fri, 7 Apr 2006 20:01:13 +0000 (14:01 -0600)]
[IA64] dom0 vp model linux part: import page.h from linux-2.6.16-rc3
[note: verified same as linux-2.6.16]
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
awilliam@xenbuild.aw [Fri, 7 Apr 2006 19:46:23 +0000 (13:46 -0600)]
[IA64] dom0 vp model linux part: import io.h from linux-2.6.16-rc3
[note: verified same as linux-2.6.16]
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
awilliam@xenbuild.aw [Fri, 7 Apr 2006 19:42:47 +0000 (13:42 -0600)]
[IA64] dom0 vp model: xen side update README.orig for efi.h move.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
awilliam@xenbuild.aw [Fri, 7 Apr 2006 19:41:32 +0000 (13:41 -0600)]
[IA64] dom0 vp model xen part: moved efi.h from linux to linux-xen to modify.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
awilliam@xenbuild.aw [Fri, 7 Apr 2006 17:40:33 +0000 (11:40 -0600)]
[IA64] MAX_VIRT_CPUS and NR_CPUS
Increase MAX_VIRT_CPUS and NR_CPUS to 64.
Check maxcpus < MAX_VIRT_CPUS.
Check size of shared_info (<= PAGE_SIZE).
Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
awilliam@xenbuild.aw [Fri, 7 Apr 2006 17:35:29 +0000 (11:35 -0600)]
[IA64] Fixed DOM0_PHYSINFO
This patch fixed the DOM0_PHYSINFO hypercall.
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
awilliam@xenbuild.aw [Thu, 6 Apr 2006 21:51:59 +0000 (15:51 -0600)]
[IA64] cleanup in regionreg.c
get_impl_rid_bits: use pal call to get implemented_rid_bits.
clean up in regionreg.c
Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
awilliam@xenbuild.aw [Wed, 5 Apr 2006 18:19:52 +0000 (12:19 -0600)]
[IA64] print domain id and vcpu id when panic
made show_regs() to print domain id and vcpu id.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
awilliam@xenbuild.aw [Wed, 5 Apr 2006 18:17:44 +0000 (12:17 -0600)]
[IA64] fix paging_init()
fix paginig_init() to initialize mpt_table properly.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
G: manifest hash
ca7d4ed1b47fcd1f85fbf0005c810796b1f0c6cb
awilliam@xenbuild.aw [Wed, 5 Apr 2006 18:15:10 +0000 (12:15 -0600)]
[IA64] fix gnttab_shared_gmfn()
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
awilliam@xenbuild.aw [Tue, 4 Apr 2006 15:43:41 +0000 (09:43 -0600)]
[IA64] Add memory operations for xen/ia64
This patch removes ugly hack upon memory operation and thus
allow inc/decrease_reservation op available for xen/ia64 now.
As a result:
* Now we conform to common sequence where all domain pages
are allocated together by increase_reservation before
image builder
* physmap table is now built at point of arch_set_info_guest
* DOM0_GETMEMLIST can only query without allocation now
After this patch, some long-existing hacks due to mismatched
memory interface are cleaned this time. Also this is a base
step toward introducing balloon feature into xen/ia64.
Signed-off-by Kevin Tian <kevin.tian@intel.com>
awilliam@xenbuild.aw [Tue, 4 Apr 2006 15:39:45 +0000 (09:39 -0600)]
[IA64] set itv handoff as masked and enable reading irr[0-3]
Set initial vcpu itv handoff state to mask the timer vector.
This seems to match hardware and makes logical sense from a
spurious interrupt perspective. Enable vcpu_get_irr[0-3]
functions as they seem to work and have the proper backing.
This enables the check_sal_cache_flush() in arch/ia64/kernel.sal.c
to work unmodified, allowing us to remove the Xen changes from
the file (and thus the file from the sparse tree).
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
awilliam@xenbuild.aw [Mon, 3 Apr 2006 20:39:27 +0000 (14:39 -0600)]
[IA64] add LVM support to kernel configuration
Signed-off-by: Daniel Miles <daniel.t.miles@hp.com>
awilliam@xenbuild.aw [Mon, 3 Apr 2006 14:58:10 +0000 (08:58 -0600)]
[IA64] fix make world
When the arch/ia64/Makefile was cloned from the Linux tree, the install
target was changed to remove a dependency on vmlinux.gz. That makes
sense, but the invocation of install.sh in that target still used $<
to refer to the dependency that had been removed. Hence, install.sh
would fail, and make world would stop prematurely.
Signed-off-by: Al Stone <ahs3@fc.hp.com>
awilliam@xenbuild.aw [Mon, 3 Apr 2006 14:33:35 +0000 (08:33 -0600)]
[IA64] cache flush
domain_cache_flush added.
SAL_CACHE_FLUSH implemented.
Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
awilliam@xenbuild.aw [Fri, 31 Mar 2006 21:04:16 +0000 (14:04 -0700)]
[IA64] Dummy emulation of SAL INFO sal calls.
Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
awilliam@xenbuild.aw [Fri, 31 Mar 2006 21:03:07 +0000 (14:03 -0700)]
[IA64] vcpu_match_tr_entry
cpu_match_tr_entry moved from vcpu.h to vcpu.c, is now an inlined function
and its range check is fixed.
Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
awilliam@xenbuild.aw [Thu, 30 Mar 2006 19:47:45 +0000 (12:47 -0700)]
[IA64] cleanup
Minor cleanups from the previous patch
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
awilliam@xenbuild.aw [Thu, 30 Mar 2006 19:41:48 +0000 (12:41 -0700)]
[IA64] Fix domain reboot bug
Actually domain reboot issue is not caused by our previous patch
to solve schedule_tail, which instead helps to find a severe HOST_SMP
plus domain destroy bug.
The major reason is that currently VHPT table for dom0/domU is per LP,
while domain destroy only issues vhpt_flush on current LP (dom0 is running).
So VHPT table is not flushed on the LP that destroyed domU is running.
The mechanism of domain reboot is to kill current domain and create a new
domain with same configuration. Since region id recycle is added last time
with domain destroy support, the new created domain will inherit same
region id as previous one. Under this case, the stale entries in
VHPT table will make new domU halt.
Before applying our schedule_tail patch, domU will keep same pta
value as idle domain when first created where vhpt walker is disabled.
Because we use bvt as default scheduler, context switch never happens
as long as domU is runnable. That means domU will have vhpt DISABLED
in whole life cycle. So even vhpt on that LP is not flushed, domU
still runs correctly.
So we need to send IPI to target LP to flush right vhpt table. Especially,
based on our previous patch for schedule_tail, domU can get performance
gain by enabling vhpt walker.
Signed-off-by: Zhang xiantao <xiantao.zhang@intel.com>
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
awilliam@xenbuild.aw [Thu, 30 Mar 2006 19:40:24 +0000 (12:40 -0700)]
[IA64] Fix domainU boot when VTi domainexists
This patch intends to fix domainU boot after VTi domain booted up.
Currently domainU can't boot after domain VTi booted up.The root
cause is when VTi domain exists, iva register points to ivt which
belongs to VTi domain but different to domU. After DomU createing
and being scheduled for fist time, context_switch won't be executed
completely but through another execution path to leave kernel.
This will lead to LP's(run domU) iva and pta point to VTi domain's
ivt and pta. So when DomainU boots, domain VTi and domainU will hang.
Singed-off-by: Zhang xiantao <xiantao.zhang@intel.com>
Singed-off-by: Kevin Tian <kevin.tian@intel.com>
awilliam@xenbuild.aw [Thu, 30 Mar 2006 16:55:26 +0000 (09:55 -0700)]
[IA64] Merge vpsr.i with evtchn_upcall_mask tosolve one trickish bug
Per agreement on the summit, xen/ia64 will move to event channel
model same as xen/x86, under which event is the layer under pirq
(external interrupt), virq, and ipi with the latter three bound
to event ports. Within that model, no external interrupt will be
injected directly and evtchn_upcall_mask is the flag to control
whether events are deliverable.
So xenlinux needs to operate evtchn_upcall_mask at all places
where it originally operates vpsr.i. However these two flags are
presented at different shared area, and thus xenlinux can't ensure
atomical update on two flags which leaves severe stability issues.
One severe bug comes for this reason where some hypercall may be
restarted infinitely when events pending.
Actually based on description of future model, events become the
superset of external interrupts and thus evtchn_upcall_mask super-
set of vpsr.i (interrupt_delivery_enable). We can merge two flags
into one by removing the latter. By this way, we ensure correctness
and most importantly conform to common code which always assumes
upon evtchn_upcall_mask.
Signed-off-by Kevin Tian <kevin.tian@intel.com>
awilliam@xenbuild.aw [Wed, 29 Mar 2006 19:41:33 +0000 (12:41 -0700)]
[IA64] set_metaphysical_mode fix
If the old mode is metaphysical mode and the new mode is
virtual mode. set_one_rr(0, PSCB(vcpu,rrs[0]) will not
set machine region register 0, because at this time,
PSCB(vcpu,metaphysical_mode) is 1, VMM need to update
metaphysical_mode first, then call set_one_rr.
Signed-off-by: Anthony Xu <anthony.xu@intel.com>
awilliam@xenbuild.aw [Wed, 29 Mar 2006 19:40:01 +0000 (12:40 -0700)]
[IA64] make xen-mkbuildtree-pre robust a bit
make linux-2.6-xen-sparse/arch/ia64/xen-mkbuildtree-pre robust a bit.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
awilliam@xenbuild.aw [Tue, 28 Mar 2006 15:54:58 +0000 (08:54 -0700)]
merge with xen-unstable.hg
cl349@firebug.cl.cam.ac.uk [Tue, 28 Mar 2006 13:19:22 +0000 (14:19 +0100)]
Change do_IRQ high bit masking.
Allow more than 256 interrupt vectors on native by only setting the
highest bit when marking orig_eax to indicate that we're not within
a system call.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
kaf24@firebug.cl.cam.ac.uk [Tue, 28 Mar 2006 12:45:08 +0000 (13:45 +0100)]
The introduction of the SMI handling code added in cset 9371 is
"reversed", as in it actually clears the SMI bit in the VMCB. If you
have a new enough chip (or new BIOS), the SMI bit HAS TO BE SET or it
gives exitcode -1.
Signed-off-by: Mats Petersson <mats.petersson@amd.com>
kaf24@firebug.cl.cam.ac.uk [Tue, 28 Mar 2006 12:43:22 +0000 (13:43 +0100)]
merge
kaf24@firebug.cl.cam.ac.uk [Tue, 28 Mar 2006 12:42:28 +0000 (13:42 +0100)]
Add missing -xen ia64 config file.
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Tue, 28 Mar 2006 12:40:30 +0000 (13:40 +0100)]
SVM only patch to fix location of PIO request RIP update.
Fixes booting of win2003 server, and various CD installation failures.
Signed-off-by: Tom Woller <thomas.woller@amd.com>
emellor@leeni.uk.xensource.com [Tue, 28 Mar 2006 10:52:47 +0000 (11:52 +0100)]
Merged.
emellor@leeni.uk.xensource.com [Tue, 28 Mar 2006 10:51:06 +0000 (11:51 +0100)]
Mention uClibc and buildroot configs.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
emellor@leeni.uk.xensource.com [Tue, 28 Mar 2006 10:47:58 +0000 (11:47 +0100)]
Added README for the XenSource-hosted initrd.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
emellor@leeni.uk.xensource.com [Tue, 28 Mar 2006 10:47:20 +0000 (11:47 +0100)]
Download the initrd from xm-test.xensource.com, unless otherwise specified.
Don't download it again if it's already present.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
emellor@leeni.uk.xensource.com [Tue, 28 Mar 2006 10:26:29 +0000 (11:26 +0100)]
Watch for @introduceDomain, for symmetry with the existing watch on
@releaseDomain.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
emellor@leeni.uk.xensource.com [Tue, 28 Mar 2006 10:25:22 +0000 (11:25 +0100)]
Have TCPXMLRPCServer inherit from SocketServer.ThreadingMixIn. This allows
Xend to handle more than one request simultaneously once again.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
cl349@firebug.cl.cam.ac.uk [Tue, 28 Mar 2006 09:09:44 +0000 (10:09 +0100)]
Remove special handling of {set,clear}_in_cr4().
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
kaf24@firebug.cl.cam.ac.uk [Tue, 28 Mar 2006 09:01:35 +0000 (10:01 +0100)]
Simplify the failsafe callback handler in x86/64 linux. It doesn't
need to try reloading segment selectors (unlike i386 linux).
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Tue, 28 Mar 2006 08:57:48 +0000 (09:57 +0100)]
Add -xen buildconfig for ia64 and tweak CONFIG_VT setup to avoid
initializing on domUs. Remove CONFIG_IDE_GENERIC as this is
unnecessary on ia64 systems (no ISA IDE controllers) and causes long
timeouts booting domU.
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
awilliam@xenbuild.aw [Mon, 27 Mar 2006 22:36:47 +0000 (15:36 -0700)]
[IA64] ptc.ga for SMP-g
ptc.ga extended for SMP-g.
Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
awilliam@xenbuild.aw [Mon, 27 Mar 2006 22:35:31 +0000 (15:35 -0700)]
[IA64] Make sharedinfo and shared_archinfo adjacent
Move SHAREDINFO_ADDR and SHARED_ARCHINFO_ADDR to be adjacent, which
makes easier to access two areas by offset into same base.
Also remove duplicated XSI_ definitions in asm-offsets.c.
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
awilliam@xenbuild.aw [Mon, 27 Mar 2006 22:34:02 +0000 (15:34 -0700)]
[IA64] recompile asm-xsi-offsets.h at right time
asm-xsi-offsets.h also needs to be re-compiled when header files change,
or else there'll still be window for xenlinux to see mismatched offsets
definition.
Also remove unused definitions in asm-offsets.c
Signed-off-by: Kevin Tian <Kevin.Tian@intel.com>
awilliam@xenbuild.aw [Mon, 27 Mar 2006 22:32:08 +0000 (15:32 -0700)]
[IA64] Followup to xen time cleanup
Clean up to xen time handler. Tristan #if 0 some code because it seems
redundant, which however is actually problematic logic as a reason for
an intermittent timer oops issue of dom0. So delete it now.
Also remove vcpu_wake, since wakeup current has nothing meaningful and
simply waste cpu cycle.
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
kaf24@firebug.cl.cam.ac.uk [Mon, 27 Mar 2006 17:03:03 +0000 (18:03 +0100)]
Make -xen default kernel compile on x86_64 by removing b44 module.
This patch ends up affecting a couple other lines because it is the
result of a new make menuconfig, but those changes should be harmless.
Signed-off-by: Sean Dague <japh@us.ibm.com>
cl349@firebug.cl.cam.ac.uk [Mon, 27 Mar 2006 10:16:36 +0000 (11:16 +0100)]
Whitespace.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
kaf24@firebug.cl.cam.ac.uk [Sun, 26 Mar 2006 10:50:39 +0000 (11:50 +0100)]
Fix 64-bit HVM guest debug via gdbserver:
1. gdb_regs for 64bit, and macros to transfer regisers between ptrace
registers to gdb registers
2. xc_ptrace code building for 64bit
3. Implementation of new map_domain_va for 64bit
4. gdbserver-xen build configuration fixes for 64bit
From: Nitin Kamble
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Sun, 26 Mar 2006 10:45:35 +0000 (11:45 +0100)]
Allow 64-bit Xen to run 64-bit hvm SMP guests.
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
kaf24@firebug.cl.cam.ac.uk [Sun, 26 Mar 2006 10:43:53 +0000 (11:43 +0100)]
Don't reclaim vcpus that are not put into use yet when destroying HVM
domain. Otherwise, when running a debug=y xen, we will get a assertion
failure in vmx_request_clear_vmcs(), since some vcpus may be not
initialized for HVM use yet.
Signed-off-by: Xin Li <xin.b.li@intel.com>
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
kaf24@firebug.cl.cam.ac.uk [Sun, 26 Mar 2006 10:42:17 +0000 (11:42 +0100)]
Fix build error with debug=y inxen/ia64 by moving
MAX_ORDER definition has moved into a header file.
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
kaf24@firebug.cl.cam.ac.uk [Sun, 26 Mar 2006 10:39:04 +0000 (11:39 +0100)]
The attached patch to the qemu emulation of the pcnet hardware fixes
several problems. It will now only read and write a transmit or receive
descriptor once. It will correctly handle transmitting frames with more
than two fragments. It will discard oversize frames instead of
corrupting memory. I have tested all the changes I have made and even
seen an improvement in receive performance from 1.7MB/s to 3.3MB/s.
Your mileage will vary.
The code could be simplified if multi-fragment frames were deleted. It
appears that both Linux and Windows XP don't use fragmented frames.
The mac crc computation code was deleted, since it has never been used.
The code was checking the wrong bit in the control register.
I tested type 3 descriptors by modifying the linux pcnet32 driver, but
did not see any difference in performance over type 2 currently used.
I have not made any change to type 0 (16-bit) transmit/receive
descriptors as I have no way to test the changes.
Please test this as soon as possible, as I will be on vacation next week
and in a class the following week. I will check email from time to
time, but my ability to make changes to code will be greatly dimished.
One other thing I noticed in my testing, is that if I tell a linux domU
to reboot, it will reboot but not have any pcnet32 device after
rebooting. By doing a shutdown, xm destroy and xm create, I was able to
get around that problem.
Signed-off-by: Don Fry <brazilnut@us.ibm.com>
kaf24@firebug.cl.cam.ac.uk [Sun, 26 Mar 2006 10:35:11 +0000 (11:35 +0100)]
Add format printf attribute to panic() prototype and fix the error
this catches.
Signed-off-by: Jimi Xenidis <jimix@watson.ibm.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
awilliam@xenbuild.aw [Fri, 24 Mar 2006 18:36:22 +0000 (11:36 -0700)]
[IA64] fix build breakage
Looks like we do need to include asm/hypercall.h
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
awilliam@xenbuild.aw [Fri, 24 Mar 2006 17:46:14 +0000 (10:46 -0700)]
[IA64] Fix domain destroy bug when multiple domains exist
Currently vmx irq handler doesn't handle IA64_IPI_VECTOR, which is
instead pended to dom0 incorrectly. That bug made people observing
system hang when destroying domU with domVTI kept running. Actually
there's no need for two different irq handlers, which should be
same as long as softirq is checked at exit path back to guest. So
remove vmx version here.
With this fix, now we can create two domains (domU+domVTI), then
destroy domU, create another domVTI, destroy domVTI with all steps
successfully finished.
Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com>
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
awilliam@xenbuild.aw [Fri, 24 Mar 2006 17:41:48 +0000 (10:41 -0700)]
[IA64] assign_new_domain_page now calls assign_domain_page
assign_new_domain_page inlines assign_new_domain0_page and calls
assign_domain_page.
cleanup in asm-ia64/xenprocessor.h
Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
awilliam@xenbuild.aw [Fri, 24 Mar 2006 17:38:41 +0000 (10:38 -0700)]
[IA64] dump_stack() for debug.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
awilliam@xenbuild.aw [Fri, 24 Mar 2006 17:36:14 +0000 (10:36 -0700)]
[IA64] obvious compilation fix (hypercall.h, hypervisor.h)
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
awilliam@xenbuild.aw [Fri, 24 Mar 2006 17:34:40 +0000 (10:34 -0700)]
[IA64] trivial compilation fix (debugger.h)
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
awilliam@xenbuild.aw [Fri, 24 Mar 2006 17:32:35 +0000 (10:32 -0700)]
[IA64] fix PRtype_info and removed some warning
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
awilliam@xenbuild.aw [Fri, 24 Mar 2006 17:27:05 +0000 (10:27 -0700)]
[IA64] ia64/xen-mkbuildtree-pre: use ln -sf instread of cp
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
awilliam@xenbuild.aw [Fri, 24 Mar 2006 17:20:25 +0000 (10:20 -0700)]
[IA64] Recompile asm-offsets.h at correct time
Recompile asm-offsets.h when header files are changed. Currently it's not
recompiled even when important strutures changes after "hg pull" and thus
make interface mismatch between xen and xenlinux. I've encountered several
times after boring debug to find the reason.
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
kaf24@firebug.cl.cam.ac.uk [Fri, 24 Mar 2006 16:48:03 +0000 (17:48 +0100)]
emellor@leeni.uk.xensource.com [Fri, 24 Mar 2006 13:36:14 +0000 (14:36 +0100)]
Switch the default build to make the -xen kernel, not the -xen0 and -xenU
kernels. Distros will be using -xen exclusively, so this change means that
developers and users of unstable will be (by default) using the same
configuration as the distros.
This can be overridden by setting KERNELS="linux-2.6-xen0 linux-2.6-xenU" on the
command line.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
harry@localhost.localdomain [Fri, 24 Mar 2006 13:31:20 +0000 (14:31 +0100)]
Fix bug 515 by adding a global lock around the hotplug scripts in the non-udev hotplug case only.
There are two possible root causes for 515, both of which are only problems in the non-udev hotplug case because udev uses udevsend which already implements the required serialisation.
1) Script concurrency.
2) Kernel reordering hotplug events.
This changeset fixes (1) but not (2). Since (1) is the problem that seems to be happening this is probably OK.
A fix for (2) for the hotplug case might be to add extra serialisation using state changes in the store but this would impact all the drivers and the code and extra complexity would be redundant once everyone had moved to udev. This doesn't seem worthwhile unless we actually start to see (2) happening.
anthony@rhesis.austin.ibm.com [Fri, 24 Mar 2006 13:31:12 +0000 (14:31 +0100)]
1) Introduce new exception type XendInvalidDomain that maps to the high level
XEND_INVALID_DOMAIN faultType.
2) Fix exception logic in XMLRPCServer
3) Fix TCP server
4) Remove catching of ProtocolError in main.py. ProtocolErrors only occur
when there is an exception in the exception handling code which shouldn't
ever happen. I've reproduced the error cases described by Ewan with
xend_domain_setTargetMemory and once I fixed the exception logic, I get a
normal faultType of 1 as would be expected.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
kaf24@firebug.cl.cam.ac.uk [Fri, 24 Mar 2006 11:28:58 +0000 (12:28 +0100)]
Create /var/xen/dump/ during tools installation, or core files
are not written even if we set (enable-dump yes) in xend-config.sxp.
Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
kaf24@firebug.cl.cam.ac.uk [Fri, 24 Mar 2006 11:14:58 +0000 (12:14 +0100)]
Detect spurious faults taken in the hypervisor that are
due to writable pagetable logic.
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Fri, 24 Mar 2006 09:59:31 +0000 (10:59 +0100)]
This patch is mainly a cleanup of vmx related xentrace code. One minor
xentrace bug is fixed.
Signed-off-by: Xiaowei Yang <xiaowei.yang@intel.com>
Signed-off-by: Yunfeng Zhao <yunfeng.zhao@intel.com>
kaf24@firebug.cl.cam.ac.uk [Fri, 24 Mar 2006 09:57:52 +0000 (10:57 +0100)]
Update gdb documentation
* Kernel isn't 2.6.12 anymore
* ARCH=xen isn't needed for make anymore
Signed-Off-By: Horms <horms@verge.net.au>
kaf24@firebug.cl.cam.ac.uk [Fri, 24 Mar 2006 09:52:10 +0000 (10:52 +0100)]
The patch removes old Xenbus files, fixes 0 length mmu_updates table bug
(bugfix by Melvin Anderson) and adds missing console.h header file
(again spotted by Melvin).
Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk>
kaf24@firebug.cl.cam.ac.uk [Fri, 24 Mar 2006 09:47:48 +0000 (10:47 +0100)]
Fix mini-os xenbus.
From: Grzegorz Milos <gm281@cam.ac.uk>
Signed-off-by: Keir Fraser <keir@xensource.com>
awilliam@xenbuild.aw [Thu, 23 Mar 2006 21:14:20 +0000 (14:14 -0700)]
[IA64] avoid networking in VTI
It's currently not working.
From: Zhang Xiantao <xiantao.zhang@intel.com>
awilliam@xenbuild.aw [Thu, 23 Mar 2006 20:28:26 +0000 (13:28 -0700)]
[IA64] bug fix in privop.c (2)
Dan found another instance of the same bug, ia64 registers are 64bits.
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
awilliam@xenbuild.aw [Thu, 23 Mar 2006 20:25:55 +0000 (13:25 -0700)]
[IA64] bug fix in privop.c
Bug fix: an ia64 register is 64bits!
Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
awilliam@xenbuild.aw [Thu, 23 Mar 2006 20:22:56 +0000 (13:22 -0700)]
[IA64] Remove warning messages
This patch removed warning messages in vmx_phy_mode.c
and vmx_virt.c.
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
awilliam@xenbuild.aw [Thu, 23 Mar 2006 20:19:14 +0000 (13:19 -0700)]
[IA64] IA64_GRANT_TABLE_PADDR
IA64_GRANT_TABLE_PADDR constant added to avoid use of hard-coded value.
translate_domain_pte uses it as well as ORDER_GRANT_FRAMES to filter error
message.
Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
kaf24@firebug.cl.cam.ac.uk [Thu, 23 Mar 2006 17:57:21 +0000 (18:57 +0100)]
Remove unnecessary zlib includes.
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
kaf24@firebug.cl.cam.ac.uk [Thu, 23 Mar 2006 17:47:43 +0000 (18:47 +0100)]
on_selected_cpus() must not send IPIs with empty target masks.
This causes send accept errors on Pentium/P6 .
Signed-off-by: Keir Fraser <keir@xensource.com>
emellor@leeni.uk.xensource.com [Thu, 23 Mar 2006 16:37:37 +0000 (17:37 +0100)]
Merged.
emellor@leeni.uk.xensource.com [Thu, 23 Mar 2006 16:27:48 +0000 (17:27 +0100)]
Remove undefined XFAIL_TESTS variable.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
emellor@leeni.uk.xensource.com [Thu, 23 Mar 2006 16:25:55 +0000 (17:25 +0100)]
Remove undefined XFAIL_TESTS variable.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
cl349@firebug.cl.cam.ac.uk [Thu, 23 Mar 2006 16:21:05 +0000 (16:21 +0000)]
Remove unused variable.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
kaf24@firebug.cl.cam.ac.uk [Thu, 23 Mar 2006 16:17:08 +0000 (17:17 +0100)]
Reduce spin-waiting in Xen serial driver:
1. Split the serial port lock into receiver and transmitter locks.
2. In the ns16550 interrupt, only call the generic serial service
routines if there is receive (or transmit) work to do.
3. In the generic transmit ISR, avoid long spin-waits by *trying*
to take the transmitter lock and, if that fails, check again
whether the transmitter is empty. This will allow us to bail
bail quickly if there is a long-term lock holder stuffing lots
of bytes.
Also, gdbstub should be setting its serial handle in synchronous mode,
just for sanity.
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Thu, 23 Mar 2006 14:53:52 +0000 (15:53 +0100)]
Merge hvm_store_cpu_guest_regs() and hvm_store_cpu_guest_ctrl_regs()
into a single function.
On VMX, make the function work even when the passed VCPU is not the
currently-executing VCPU.
This allows gdbserver-xen to get correct cpu register context for VMX guests.
Signed-off-by: Keir Fraser <keir@xensource.com>
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
kaf24@firebug.cl.cam.ac.uk [Thu, 23 Mar 2006 14:30:00 +0000 (15:30 +0100)]
Rename generic_page_range as apply_to_page_range, export the symbol
to GPL modules. Rename pte_page parameter to pmd_page (following the
Linux idiom). apply_to_pte_range() should take the pte spinlock.
Signed-off-by: Keir Fraser <keir@xensource.com>
emellor@leeni.uk.xensource.com [Thu, 23 Mar 2006 13:45:21 +0000 (14:45 +0100)]
Merged.
kaf24@firebug.cl.cam.ac.uk [Thu, 23 Mar 2006 13:44:51 +0000 (14:44 +0100)]
Fix 2 VMX time-related bugs:
1) bogomips=0 or a very huge number after booting ia32/ia32e vmx
2) Repeated keys show in Xwindow terminal after one key is pressed
Signed-off-by: Xiaowei Yang <xiaowei.yang@intel.com>
emellor@leeni.uk.xensource.com [Thu, 23 Mar 2006 13:44:11 +0000 (14:44 +0100)]
Added copyright declaration for Christopher Clark, Andrew Tridgell.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
emellor@leeni.uk.xensource.com [Thu, 23 Mar 2006 13:34:35 +0000 (14:34 +0100)]
Use *args inside FAIL and SKIP so that it is possible to call these functions
with multiple arguments, printf style. This is already being done in some
cases (causing an exception of course).
Signed-off-by: Ewan Mellor <ewan@xensource.com>
emellor@leeni.uk.xensource.com [Thu, 23 Mar 2006 13:32:15 +0000 (14:32 +0100)]
Import the current version of talloc from the Samba 3 source base. This gives
us greater confidence that our talloc implementation is "known good". Remove
the OOM handling from consider_message: talloc_set_fail_handler is no longer
supported.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
emellor@leeni.uk.xensource.com [Thu, 23 Mar 2006 13:26:38 +0000 (14:26 +0100)]
Merged.
emellor@leeni.uk.xensource.com [Thu, 23 Mar 2006 11:59:50 +0000 (12:59 +0100)]
Merged.
emellor@leeni.uk.xensource.com [Thu, 23 Mar 2006 11:59:43 +0000 (12:59 +0100)]
Improve error handling, in particular fixing the ProtocolError that is thrown
when a domain is specified by the user that does not exist. Added a few
error codes -- many more to come, I expect.
Signed-off-by: Ewan Mellor <ewan@xensource.com>